This invention pertains to multi-processor communications systems. More particularly, the invention pertains to such systems wherein processors can be grouped in different ways.
Multi-processor communications systems particularly for use in monitoring a region or regions are known. One particular form of such a system is disclosed in Tice et al U.S. Pat. No. 5,525,962 entitled Communication System and Method assigned to the assignee hereof and incorporated by reference. Another such system is disclosed in Tice et al U.S. Pat. No. 4,916,432 entitled Smoke and Fire Detection System Communication, also assigned to the assignee hereof and incorporated by reference.
Known systems, while effective for their intended purpose, have exhibited some limitations. Typical systems usually have preset message lengths which are not field programmable. It would be desirable if the flexibility of such systems could be enhanced by providing field programmable, message lengths. Such flexibility would take into account newly developed formats, improvements or features which are intended to be field installable or field upgradeable.
A flexible multi-processor communications system makes use of multiple prestored groups and applications. In a peer-to-peer type system, each transmitting processor transmits group and function information. This arrangement facilitates communications between a transmitting and receiving device.
In an alternate configuration, a transmitting device does not have direct access to group information. Instead, group information is provided by a common communication device in response to a message from a transmitting device.
The grouping information that is transmitted with the device messages specifies its membership with other devices. The membership or grouping can be changed as a function of the type of message that is being transmitted. This can allow different functional relationships.
For alarms, devices may be grouped so that smoke control is achieved with one grouping and annunciation is achieved with a different grouping. Door control devices could be grouped separate from smoke control or annunciation.
The different groupings can be achieved by including them at one time in a message or by transmitting separate messages specifying the different groups and the different functions. Examples of multiple groups include: 1) smoke control groups, 2) annunciation groups, 3) door lock groups, 4) lighting control groups, 5) ventilation control groups, and 6) fire suppression groups.
Devices can be loaded with information specifying multiple groups to which each respective device is assigned. In addition, each device can be loaded with application or function related codes that specify different applications (i.e. fire, security, HVAC, etc.).
Although the receiving devices are loaded with group and application programs, they are not yet xe2x80x9cboundxe2x80x9d to the transmitting devices. Transmitting devices, in one disclosed embodiment will broadcast their information with application type and individual address. The receiving devices will record the broadcast but not be able to determine how to function until another processor, such as a common control element, adds additional information to the system.
The common control element will dynamically make the group decisions based upon the transmitting device, effectively binding the transmitting device into a group. This process is dynamic and the same transmitting device may become a member of a different group based upon prior events. The type of device transmitting a state change is therefore linked to specific other devices by both the application type and group memberships, as defined by the common control element.
In an alternate or peer-to-peer system, there is no common control element and the transmitting device inserts the group numbers into the message. The transmitting message may contain multiple group numbers and/or application type numbers. The receiving devices may be programmed with multiple group numbers.
In both of the above systems, the devices are programmed with multiple groups and/or multiple applications. A particular system 1) may contain only one group and multiple application codes, or 2) may contain one application code and multiple groups or, 3) may contain multiple groups and multiple application codes.
The grouping can be dynamic in that the action can be different and dependent upon previous messages communicated on the system. If one group is in a predetermined state, then the grouping can be changed so that at least some devices are now members of different groups than originally programmed. The common control element can determine this new relationship between transmitting devices and receiving devices. New group numbers can also be downloaded to devices in real time during system operation to establish different operating groups dynamically and quickly.
In yet another embodiment, a multi-processor communication system having variable grouping exhibits enhanced flexibility by providing a communications protocol with programmable message lengths. In one aspect, a command can be sent to one or more processors specifying subsequent message lengths as an integer number of bytes.
The command can be transmitted separately or in conjunction with a message being transmitted. The lengths of messages being transmitted to one or more processors and the length of messages being received from one or more processors can be programmed independently of one another.
Message priorities can be programmed to reassign message priorities dynamically in response to changing conditions. In one embodiment, a first byte of a message can be assigned a priority indicating function.
In addition to establishing a priority for transmission, an execution priority can also be established by the priority byte. In this regard, transmission priority can be established independently of execution priority.
As a result of separating message content from transmission or execution priority, some copies of a message can be immediately transmitted to selected processors for immediate execution. Other copies of that message can be transmitted with a much lower priority to different devices.
In order to enhance message integrity, the location of a check sum or other error checking code can be specified during transmission to the receiving device or devices. The receiving device or devices can then extract the check sum or error checking code from the specified location in the message. The integrity of the received message can then be evaluated.